<?php
/**
 * gii 生成， 需要 改动 规则部分
 * 从 CShardedActiveRecord 继承
 */
class User extends CShardedActiveRecord {
	
	/**
	 * 基础的 表名程，不带后缀
	 */
	protected static $baseTable = 'user';

	public static function model($shardingVal = null) {
		/**
		 * 在使用分库，分表时 我们使用数据表后缀法，例如（user_1, user_2 …… user_f）
		 * 因此需要一个正确且严格的规则来根据数据表名称（带后缀的）找到对应的model名称
		 * 
		 * 需要根据实际分库分表方式自行改动正则
		 */
		CModelManager::addRule('User', 'user_[\da-f]');
		self::setShardedValue($shardingVal);
		return parent::model(__CLASS__);
	}

	public function rules() {
		// 无变化
	}

	public function relations() {
		// 无变化
	}

	public function attributeLabels() {
		// 无变化
	}

	public function search() {
		// 无变化
	}
	
	/**
	 * SHOW CREATE TABLE `user_1` 
	 * 缓存 数据表结构,  由Gii 生成
	 */
	public static function getCreateTable() {
		return array(
			'Table'=>"user_1",
			'Create Table'=>"CREATE TABLE `user_1` (
			  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
			  `uid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '',
			  `ip` varchar(15) NOT NULL DEFAULT '',
			  `type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '',
			  PRIMARY KEY (`id`),
			  KEY `uid_type` (`uid`,`type`),
			) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8"
		);
	}
	
	/**
	 * SHOW FULL COLUMNS FROM `vote_users_12` 
	 * 缓存 数据表 字段结构,  由Gii 生成
	 */
	public static function getFullColumns() {
		return array(
			0=> array('Field'=>'id', 'Type'=>'int(11) unsigned', 'Collation'=>'', 'Null'=>'NO', 'Key'=>'PRI', 'Default'=>'', 'Extra'=>'auto_increment', 'Privileges'=>'select,insert,update,references', 'Comment'=>'', ),
			1=> array('Field'=>'uid', 'Type'=>'int(11) unsigned', 'Collation'=>'', 'Null'=>'NO', 'Key'=>'MUL', 'Default'=>'0', 'Extra'=>'', 'Privileges'=>'select,insert,update,references', 'Comment'=>'', ),
			7=> array('Field'=>'ip', 'Type'=>'varchar(15)', 'Collation'=>'utf8_general_ci', 'Null'=>'NO', 'Key'=>'', 'Default'=>'', 'Extra'=>'', 'Privileges'=>'select,insert,update,references', 'Comment'=>'', ),
			8=> array('Field'=>'type', 'Type'=>'tinyint(1) unsigned', 'Collation'=>'', 'Null'=>'NO', 'Key'=>'', 'Default'=>'0', 'Extra'=>'', 'Privileges'=>'select,insert,update,references', 'Comment'=>'', ),
		);
	}
}
